package com.linzm.creationaltype.prototype05.enums;

import com.linzm.creationaltype.abstractfactory02.Shape.Hexagon;
import com.linzm.creationaltype.prototype05.shape.Circle;
import com.linzm.creationaltype.prototype05.shape.Rectangle;
import com.linzm.creationaltype.prototype05.shape.Square;

/**
 * @Author zimingl
 * @Date 2023/4/15 21:31
 * @Description: ShapeTypeEnum
 */
public enum ShapeTypeEnum {
    CIRCLE("circle", "圆形", Circle.class),
    RECTANGLE("rectangle", "矩形", Rectangle.class),
    SQUARE("square", "正方形", Square.class),
    HEXAGON("hexagon", "六边形", Hexagon.class);

    ShapeTypeEnum(String type, String desc, Class<?> clazz) {
        this.type = type;
        this.desc = desc;
        this.clazz = clazz;
    }

    private final String type;

    private final String desc;

    private final Class<?> clazz;

    public Class<?> getClazz() {
        return clazz;
    }
}
